package com.mc.lab.service.impl;

import java.util.List;
import com.mc.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mc.lab.mapper.LabInfoMapper;
import com.mc.lab.domain.LabInfo;
import com.mc.lab.service.ILabInfoService;

/**
 * 实验室 Service业务层处理
 *
 * @author mc
 * @date 2021-03-18
 */
@Service
public class LabInfoServiceImpl implements ILabInfoService
{
    @Autowired
    private LabInfoMapper labInfoMapper;

    /**
     * 查询实验室
     *
     * @param id 实验室 ID
     * @return 实验室
     */
    @Override
    public LabInfo selectLabInfoById(String id)
    {
        return labInfoMapper.selectLabInfoById(id);
    }

    /**
     * 查询实验室 列表
     *
     * @param labInfo 实验室
     * @return 实验室
     */
    @Override
    public List<LabInfo> selectLabInfoList(LabInfo labInfo)
    {
        return labInfoMapper.selectLabInfoList(labInfo);
    }

    /**
     * 新增实验室
     *
     * @param labInfo 实验室
     * @return 结果
     */
    @Override
    public int insertLabInfo(LabInfo labInfo)
    {
        labInfo.setCreateTime(DateUtils.getNowDate());
        return labInfoMapper.insertLabInfo(labInfo);
    }

    /**
     * 修改实验室
     *
     * @param labInfo 实验室
     * @return 结果
     */
    @Override
    public int updateLabInfo(LabInfo labInfo)
    {
        labInfo.setUpdateTime(DateUtils.getNowDate());
        return labInfoMapper.updateLabInfo(labInfo);
    }

    /**
     * 批量删除实验室
     *
     * @param ids 需要删除的实验室 ID
     * @return 结果
     */
    @Override
    public int deleteLabInfoByIds(String[] ids)
    {
        return labInfoMapper.deleteLabInfoByIds(ids);
    }

    /**
     * 删除实验室 信息
     *
     * @param id 实验室 ID
     * @return 结果
     */
    @Override
    public int deleteLabInfoById(String id)
    {
        return labInfoMapper.deleteLabInfoById(id);
    }

    @Override
    public int countLabInfoForType() {
        return labInfoMapper.countLabInfoForType();
    }

    @Override
    public int countLabInfoForArea() {
        return labInfoMapper.countLabInfoForArea();
    }
}